草庐IT

mysql GRANT + WHERE

全部标签

mysql - Laravel JSON where 子句不区分大小写

我使用的是L5.2和MySQL5.7。我在数据库中的元列中有以下JSON:{"cellphone":"(687)638-4512x22934","last_name":"Bashirian","first_name":"Fidel"}我正在尝试获取以下查询来运行字符串是大写还是小写:User::where('meta->first_name','fidel');我试过类似的东西:User::whereRaw('LOWER(meta->"$.first_name")=?',['fidel']);但那是返回null。关于如何做到这一点的任何想法!?我还希望能够通过全名进行查询,例如“fid

mysql - 在 MySQL select 查询中,检查字符串或在 where 子句中检查 true?

考虑下表:SELECTid,Bill_Freq,Paid_From,Paid_To,Paid_Dt,rev_codeFROMpsr_20160708091408;要求是获取rev_code填充字符串**SUM**的行。我还注意到,对于rev_code填充为**SUM**的每一行,其Bill_Freq既不会为null也不会为零。所以我写了两个查询来获取id最低的行where子句中基于字符串查询的查询:selectmin(id)ashead_id,bill_freq,Paid_From,Paid_To,Paid_Dtfrom`psr_20160708091408`whererev_code

c# - Entity Framework 在 where 子句上添加了一个额外的条件

我已经确定当执行以下表达式时:intaNum=52;varmyArtifacts=mydbcontext.artifacts.Where(a=>a.ParentID==aNum).ToList();在mysql上执行的查询是:SELECT`Extent1`.`ID`,`Extent1`.`ParentID`FROM`artifacts`AS`Extent1`WHERE((`Extent1`.`ParentID`=52)AND(52ISNOTNULL));谁能解释一下为什么要添加最后一个额外条件?AND(52ISNOTNULL)) 最佳答案

mysql - 如何优化 mysql date_format() 以提高 where 子句中的速度?

我正在尝试优化具有220,000行的相对较大的mysql(myisam)表。表格本身并不大——大约23.5MB。那么,真正的问题是什么?-我收到这样的查询:SELECT*FROMtableWHEREDATE_FORMAT(date_field,'%m%d')='1128'LIMIT10我试图在date_field上设置一个索引,但EXPLAIN显示该索引根本没有被使用……我想这并不奇怪,因为DATE_FORMAT()。所以,我打算添加另一列,将日期保存为“%m%d”并在其上放置一个索引。我不想这样做的唯一原因是数据重复。顺便说一句,我使用date_field是一个生日字段,我确定我总是

mysql - 在 bash 脚本中使用带有 where 选项和长参数列表的 mysqldump

我正在尝试使用mysqldump在MySQL中转储表的子集。我有我想从表中选择的行的id值,存储在一个文件中。当我将这些值用作变量时,如下所示:ids=`catids.csv`mysqldump-uroot-pdbTable--where="idin($ids)">>dump.sql我得到:x.bash:linex:/usr/bin/mysqldump:Argumentlisttoolong我可能会尝试将单行变量$ids(1,2,3,4,..)分成较短的列表并在循环中调用mysqldump但我目前不太擅长bash脚本中的循环。或者可能有更好的方法来解决这个问题。在此先感谢您的帮助。编辑

MySQL - 一个子查询和一个 WHERE IN

我有一个项目属性表和一个结构如下的user_favorites表:编号item_id用户编号最喜欢的(bool)当用户“收藏”一个项目时,它会使用项目ID、用户ID向该表中添加一行,并将最喜欢的属性设置为1(如果他们“不喜欢”,则将其更改为0)。我正在尝试弄清楚如何在用户查看产品列表时显示他们的收藏夹。我目前根据用户搜索输入进行查询并获得一组产品ID。现在我想在这些产品中进行查询以创建一个产品信息表-我希望它包括该项目是否是用户最喜欢的。我试过这样的:selecti.tid,i.nameasname,i.imageasimage,(SELECTfavoriteFROMuser_favo

mysql left join where with an or,扫描整个表(无索引)

我尝试了几种不同的方法,但结果很糟糕。核心问题是成员搜索正在扫描所有成员,忽略索引。主要原因(据我所知)是这个片段(Member.priv_profile=3ORMyFriend.status_idIN(1,2))单独使用该OR片段的任一侧都可以正常工作,获取索引,扫描几行,因此性能良好。我真的不想将此查询拆分为2并执行UNION,但我们可能不得不这样做,除非有人能想出一个好方法使此选择与重要的OR一起“工作”。mysql>ALTERTABLE`members`ADDINDEXA(is_active,last_name,first_name);QueryOK,140019rowsaff

php - 交响乐 2.5 : sql query with Where IN Clause using an array as a parameter

我正在尝试运行sql查询。我正在尝试选择具有特定角色的用户。在我的查询下方:$roleUser=$this->container->getParameter('user_role');$query=$this->getDoctrine()->getEntityManager()->createQuery('SELECTuFROMUserBundle:UserurWHEREur.roleIN:role_user')->setParameters('role_user',$roleUser);在我的config.yml中我定义了我的用户角色parameters:user_role:-ADM

php - Mysql GROUP BY 和 COUNT 用于多个 WHERE 子句

简化表结构:CREATETABLEIFNOTEXISTS`hpa`(`id`bigint(15)NOTNULLauto_increment,`core`varchar(50)NOTNULL,`hostname`varchar(50)NOTNULL,`status`varchar(255)NOTNULL,`entered_date`int(11)NOTNULL,`active_date`int(11)NOTNULL,PRIMARYKEY(`id`),KEY`hostname`(`hostname`),KEY`status`(`status`),KEY`entered_date`(`ent

mysql - 如何在不在where子句中添加表名或表别名的情况下避免 "Ambiguous field in query"

我有一个选择查询,其中我加入了几个表,比如T1和T2两个表都有一个名为STATUS的字段,我不需要获取。在where子句中,我需要添加WHERESTATUS=1和更多条件。但不知何故,我无法将表名或表别名添加到where子句中的字段,即我无法使用whereT2.STATUS=1。有什么方法可以始终将where子句中的STATUS=1视为T1.STATUS以便我可以避免“模糊字段错误”?这是一个示例查询:selectT1.name,T1.address,T1.phone,T2.title,T2.descriptionfromT1LeftJoinT2onT1.CID=T2.IDwhereS